 /**
   * Copyright 2014 Viettel Telecom. All rights reserved.
   * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
   */
 package com.viettel.core.dao.cms; 
import java.util.List; 

import com.viettel.core.entities.cms.CmsUser;
import com.viettel.core.entities.vo.AssignExpertFilter;
import com.viettel.core.entities.vo.AssignExpertVO;
import com.viettel.core.entities.vo.CMSUserSearchFilter;
import com.viettel.core.entities.vo.CMSUserSearchVO;
import com.viettel.core.exceptions.BusinessException;
import com.viettel.core.exceptions.DataAccessException; 
 /**
   *  Mo ta muc dich cua lop (interface)
   *  @author: TOANTM1
   *  @version:  
   *  @since: 27/02/2014 - 10:50:59
   */
 public interface CmsUserDAO { 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	CmsUser getCmsUserById(Integer id) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	CmsUser createCmsUser(CmsUser cmsuser) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	void updateCmsUser(CmsUser cmsuser) throws DataAccessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	void deleteCmsUser(CmsUser cmsuser) throws DataAccessException; 
 	
 	/**
	 * @author huanlh5
	 */
 	CmsUser getCmsUserByUserName(String userName) throws DataAccessException;
	
	/**
	 * @author huanlh5
	 */
	List<CMSUserSearchVO> searchCMSUser(CMSUserSearchFilter filter) throws DataAccessException;
	
	/**
	 * @author tuantm20
	 */
	List<CMSUserSearchVO> searchCMSUserByType(CMSUserSearchFilter filter) throws DataAccessException;
	/**
	 * @author huanlh5
	 */
	Boolean checkUserNameExist(String userName)	throws DataAccessException;
	/**
	 * @author tuantm20
	 */
	public List<AssignExpertVO> searchExpertByFilter(AssignExpertFilter filter)
			throws DataAccessException;
} 
